#pragma once
#include "EntityBase.h"
#include "FSM.hpp"
#include "EntityData.hpp"

namespace walker_sm
{
	class Entity :
		public EntityBase
	{
	public:
		Entity();
		virtual ~Entity();

		FSM<Entity>* GetFSM() { return fsm; }
		void Update() override;
		void HandleMessage(const Message& msg);
	private:
		FSM<Entity>* fsm;
		EntityData* data;
	};
}

